﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entidades;
using DAO;


public partial class A_abmSocioXClase : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        lblError.Text = "";
        if (!Page.IsPostBack)
        {
            if (Request.QueryString.Count != 0)
            {
                txtIdClase.Value = Request.QueryString[0];
                llenarGrilla();
            }
            else
            {
                lblError.Text = "Por favor vuelva al listado de clases y seleccione la clase a la que quiera agregar alumnos";
            }

        }
    }
    protected void dgvSocios_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
        int claseId = int.Parse(Request.QueryString[0]);
        Socio socio = new Socio();
        socio.Id = int.Parse(dgvSocios.DataKeys[dgvSocios.SelectedIndex].Value.ToString());
        SocioXClaseDAO.agregarSocioClase(socio, claseId);
        llenarGrilla();
        }
        catch(SystemException ex)
        {
            lblError.Text = ex.Message;
        }
    }

    private void llenarGrillaInscripto()
    {
        Clase clase = new Clase();
        if (string.IsNullOrEmpty(txtFiltroInscripto.Text))
        {
            clase = SocioXClaseDAO.obtenerInscriptos(int.Parse(txtIdClase.Value), 0);
        }
        else
        {
            clase = SocioXClaseDAO.obtenerInscriptos(int.Parse(txtIdClase.Value), int.Parse(txtFiltroInscripto.Text));
        }

        dgvInscriptos.DataSource = clase.ListadoInscriptos;
        dgvInscriptos.DataKeyNames = new string[] { "Id" };
        dgvInscriptos.DataBind();
       
    }
    private void llenarGrillaSocio()
    {
        if (string.IsNullOrEmpty(txtFiltroSocio.Text))
        {
            dgvSocios.DataSource = SocioXClaseDAO.obtenerSocios(int.Parse(txtIdClase.Value), 0);
        }
        else
        {
            dgvSocios.DataSource = SocioXClaseDAO.obtenerSocios(int.Parse(txtIdClase.Value), int.Parse(txtFiltroSocio.Text));
        }
        dgvSocios.DataKeyNames = new string[] { "Id" };
        dgvSocios.DataBind();
    }
    private void llenarGrilla()
    {
        llenarGrillaInscripto();
        llenarGrillaSocio();
    }
    protected void dgvInscriptos_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            int claseId = int.Parse(Request.QueryString[0]);
            Socio socio = new Socio();
            socio.Id = int.Parse(dgvInscriptos.DataKeys[dgvInscriptos.SelectedIndex].Value.ToString());
            SocioXClaseDAO.bajaSocioClase(socio, claseId);
            llenarGrilla();
        }
        catch (SystemException ex)
        {
            lblError.Text = ex.Message;
        }
    }
    protected void btnFiltrarInscriptos_Click(object sender, EventArgs e)
    {
        try
        {
            llenarGrillaInscripto();
        }
        catch (SystemException ex)
        {
            lblError.Text = ex.Message;
        }
    }
    protected void btnFiltrarSocio_Click(object sender, EventArgs e)
    {
        try
        {
            llenarGrillaSocio();
        }
        catch (SystemException ex)
        {
            lblError.Text = ex.Message;
        }
    }
}